//传入函数，生成一个新的函数，这个新的函数每次对它传参，都会把参数累加，调用最早传入的函数，然后依然返回一个新的函数
function curry(fn){
    return function curried(...args){
        //内部变量存储之后所有传入的变量
        if(args.length>=fn.length){
            return fn.apply(this, args);
        }
        return function(...args1){
            return curried.apply(this, args.concat(args1));
        }
    }
}